You Can Have It All:

نویسندگان

  • Juliana Franco
  • Martin Hagelin
  • Tobias Wrigstad
  • Sophia Drossopoulou
  • Susan Eisenbach
چکیده

ion and Good Cache Performance Juliana Franco Imperial College London United Kingdom [email protected] Martin Hagelin∗ Dirac Sweden Tobias Wrigstad Uppsala University Sweden [email protected] Sophia Drossopoulou Imperial College London United Kingdom [email protected] Susan Eisenbach Imperial College London United Kingdom [email protected] Abstract On current architectures, the optimisation of an application’s performance often involves data being stored according to access affinity — what is accessed together should be stored together, rather than logical affinity — what belongs together logically stays together. Such low level techniques lead to faster, but more error prone code, and end up tangling the program’s logic with low-level data layout details. Our vision, which we call SHAPES— Safe, High-level, Abstractions for oPtimisation of mEmory cacheS — is that the layout of a data structure should be defined only once, upon instantiation, and the remainder of the code should be layout agnostic. This enables performance improvements while also guaranteeing memory safety, and supports the separation of program logic from low level concerns. In this paper we investigate how this vision can be supported by extending a programming language. We describe the core language features supporting this vision: classes can be customized to support different layouts, and layout information is carried around in types; the remaining source code is layout-unaware and the compiler emits layout-aware code. We then discuss our SHAPES implementation through a prototype library, which we also used for preliminary evaluations. Finally, we discuss how the core could be expanded so as to deliver SHAPES’s full potential: the incorporation of compacting garbage collection,On current architectures, the optimisation of an application’s performance often involves data being stored according to access affinity — what is accessed together should be stored together, rather than logical affinity — what belongs together logically stays together. Such low level techniques lead to faster, but more error prone code, and end up tangling the program’s logic with low-level data layout details. Our vision, which we call SHAPES— Safe, High-level, Abstractions for oPtimisation of mEmory cacheS — is that the layout of a data structure should be defined only once, upon instantiation, and the remainder of the code should be layout agnostic. This enables performance improvements while also guaranteeing memory safety, and supports the separation of program logic from low level concerns. In this paper we investigate how this vision can be supported by extending a programming language. We describe the core language features supporting this vision: classes can be customized to support different layouts, and layout information is carried around in types; the remaining source code is layout-unaware and the compiler emits layout-aware code. We then discuss our SHAPES implementation through a prototype library, which we also used for preliminary evaluations. Finally, we discuss how the core could be expanded so as to deliver SHAPES’s full potential: the incorporation of compacting garbage collection, ∗Work done while at Uppsala University. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. Onward!’17, October 25–27, 2017, Vancouver, Canada © 2017 Copyright held by the owner/author(s). Publication rights licensed to the Association for Computing Machinery. ACM ISBN 978-1-4503-5530-8/17/10. . . $15.00 https://doi.org/10.1145/3133850.3133861 ad hoc polymorphism and late binding, synchronization of representations of different collections, support for dynamic change of representation, etc. CCS Concepts • Software and its engineering → Secondary storage; Object oriented languages; Data types and structures; Extra-functional properties;

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

P25: Talent and Perseverance

Many people think that all you need to succeed at anything is talent but talent alone without perseverance and determination, cannot help you achieve success. Talent is helpful but perseverance ensured one achieves success. A child can show an exceptional talent for storytelling, but if he ignores his teacher’s comments and doesn’t work on his stories, he will never be a great novel...

متن کامل

P35: How to Manage Anxiety

Anxiety is a mental state that is elicited in anticipation of threat or potential threat. Sensations of anxiety are a normal part of human experience, but excessive or inappropriate anxiety can become an illness. Anxiety is part of the normal human experience. We may speculate that it served human survival during evolution by enhancing preparedness and alertness. However, anxious manifestations...

متن کامل

حاملگی

If all pregnant women worry about their fetus, worries of pregnant nurses are more serious and actual. Which groups of women have more chance about hydatidform mole, amniotic fluid embolism or Sheehan’s syndrome? Fortunately, these complicated problems are very rare but what about daily injuries due to infectious diseases, radioactive substances, anticancer drugs and other chemical substances? ...

متن کامل

نگاهی دیگر به بیتی از مثنوی

Some texts, especially mystical and literary, are so intricate and labyrinthine that can be interpreted differently. These various interpretations sometimes result from the interior aspect of the texts, based on semantical understanding, and sometimes arise from their exterior aspect, based on different ways of reading the texts. Accordingly, while in another article along with other interprete...

متن کامل

Letter of Editor-in-Chief

Dear colleagues, It is my pleasure to welcome you in the third issue of Journal of Cardio-Thoracic Medicine and I hope you find it interesting. In this issue, beside the valuable original articles and an interesting case report, a useful review article have been published concerning the role of nuclear medicine in the management of solitary pulmonary nodule.I am proud to announce you that Journ...

متن کامل

An Exploratory Study on the Use of 'I Love You' in the American Context

This study explores the use of the English locution I love you in the American context. The data were collected through a focus discussion group and a survey questionnaire. 120 college undergraduate students from a large public American university participated in the study with 28 attending the focus discussion group and 92 completing the survey questionnaire. The findings indicated th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017